1. 性能优化

shouldComponentUpdate 要求有返回值,返回true,则组件更新 返回false则不更新
只在更新阶段执行.触发条件: 1. 父组件更新 2. setState

形参nextProps和nextState是最新的数据
this.props和this.state是旧数据

PureComponent 和Component功能基本一致,只是又额外的帮我们实现了shouldComponentUpdate. 自动判断了所有的数据. 
注意: 使用纯组件的时候,不要使用shouldComponentUpdate
纯组件比较复杂数据类型的时候是比较地址


2. React.forwardRef

作用: 主要用在函数组件上.函数组件本身无法使用ref. 配合React.forwardRef可以在函数组件上写ref.并将ref对象传入到函数组件内部



3. 高阶组件和renderprops

作用: 提供复用的状态和逻辑

原理:  将多个组件中公共的状态和逻辑封装到一个组件中(父组件). 然后有多少个其他组件需要使用这些状态和逻辑,就new多少个父组件的实例. 通过props将父组件中的状态和逻辑传递给需要的其他组件


4. HOOK

是什么?: 就是react中提供的函数

作用: 在函数组件中实现类组件中的某些功能

常用的HOOK 

-   useState  定义状态
    import {useState} from 'react'
    const [count,setCount] = useState(0)

-   useEffect

HOOK的使用规则: 

1. 在函数组件中使用和自定义HOOK中使用
2. 不能再分支或循环语句中使用